home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / prog_c / cuj0696.zip / DWYER.ZIP / QFLOAT / MAKEFILE < prev    next >
Text File  |  1996-04-04  |  3KB  |  106 lines

  1. # MSDOS make file for 100-digit libraries:
  2. #
  3. #    qfloata.lib    Strictly-rounded version
  4. #    qfloatb.lib    Non-Strictly-rounded Fairly-Fast version
  5. #    qfloatf.lib    Non-Strictly-rounded Fastest version
  6.  
  7. CFLAGS        = -c -nologo $(SIG_BITS) $(MODEL) $(OPTIMIZ)
  8. LIBROOT_A    = qfloata
  9. LIBROOT_B    = qfloatb
  10. LIBROOT_F    = qfloatf
  11. MODEL        = -AS
  12. NO_OPTIMIZ    = -Od
  13. OPTIMIZ        = -Ox
  14. SIG_BITS    = -DU336    # -DU144
  15. UFLAGS        = -c -nologo $(SIG_BITS) $(MODEL) $(NO_OPTIMIZ)
  16.  
  17. .asm.obj:
  18.     set path=c:\;c:\dos;d:\c700\bin;d:\masm61\bin
  19.     ml /I. /Zm /c /Cx /Ta $<
  20.  
  21. .c.obj:
  22.     cl $(CFLAGS) $<
  23.  
  24. # Objects Common to all libraries
  25. #
  26. OBJECTS_C = qlog.obj qlog10.obj qexp.obj qpow.obj qtanh.obj qfloor.obj qflti.obj\
  27.         mtherr.obj qconst.obj qrand.obj qremain.obj
  28.  
  29. #    Objects That Produce Strictly Rounded Version
  30. #
  31. OBJECTS_A = $(OBJECTS_C) qsqrta.obj qflta.obj
  32.  
  33. #    Objects That Produce Faster Non-Strictly Rounded Version
  34. #
  35. OBJECTS_B = $(OBJECTS_C) qsqrt.obj qfltb.obj
  36.  
  37. #    Objects That Produce Fastest Non-Strictly Rounded Version
  38. #
  39. OBJS_ASM  = subm.obj mulr.obj divn.obj
  40. OBJ_SQRT  = qsqrt.obj
  41. OBJECTS_F = $(OBJECTS_C) $(OBJS_ASM) $(OBJ_SQRT)
  42.  
  43. HEADERS   =  qhead.asm qhead.h mconf.h
  44.  
  45. # Medium-fast non-strictly rounded version, all C language
  46. $(LIBROOT_B).lib: $(OBJECTS_B)
  47.     -move $(LIBROOT_B).lib $(LIBROOT_B).old    > nul
  48.     lib /nologo $(LIBROOT_B) $(OBJECTS_B:.obj=) ;
  49.  
  50. # Fastest version
  51. $(LIBROOT_F).lib: $(OBJECTS_F)
  52.     -move $(LIBROOT_F).lib $(LIBROOT_F).old    > nul
  53.     lib /nologo $(LIBROOT_F) $(OBJECTS_F:.obj=) ;
  54.  
  55. # Strictly rounded version, all C language
  56. $(LIBROOT_A).lib: $(OBJECTS_A)
  57.     -move $(LIBROOT_A).lib $(LIBROOT_A).old    > nul
  58.     lib /nologo $(LIBROOT_A) $(OBJECTS_A:.obj=) ;
  59.  
  60. all: $(LIBROOT_A).lib $(LIBROOT_B).lib $(LIBROOT_F).lib
  61.  
  62. protos:
  63.     zgmake qflt qlog qexp qpow qtanh qfloor mtherr qflta qsqrta
  64.  
  65. xcg:
  66.     cat $(OBJECTS_A:.obj=.c) > $(TMP)all.c
  67.     xcg $(TMP)all.c | awk -f $(HOME)/extlist.awk | sed s/^........// |\
  68.         sed "s/ [.[]..*]$$//" | cat -n > qfloat.xcg
  69.     del $(TMP)all.c
  70.  
  71. #qcalc.obj: qcalc.c qhead.h qcalc.h
  72. #    cl $(CFLAGS) qcalc.c
  73. qexp.obj: qexp.c qhead.h
  74.     cl $(UFLAGS) qexp.c
  75. qfloor.obj: qfloor.c qhead.h mconf.h
  76. qflta.obj:  qflta.c qhead.h
  77. qfltb.obj:  qfltb.c qhead.h
  78. qflti.obj:  mconf.h  qhead.h  qtens.h
  79. qlog.obj: qlog.c qhead.h
  80.     cl $(UFLAGS) qlog.c
  81. qlog10.obj: qlog10.c qhead.h
  82. qpow.obj: qpow.c qhead.h mconf.h
  83.     cl $(UFLAGS) qpow.c
  84. qrand.obj:    qhead.h
  85. qremain.obj:    qhead.h mconf.h
  86. qsqrta.obj: qsqrta.c qhead.h mconf.h
  87. qsqrt.obj: qsqrt.c qhead.h
  88. qtanh.obj: qtanh.c qhead.h
  89.  
  90. subm.obj: subm.asm qhead.asm
  91. mulr.obj: mulr.asm qhead.asm
  92. divn.obj: divn.asm qhead.asm
  93.  
  94. qconst.obj: qconst.c qhead.h
  95.     cl $(CFLAGS) qconst.c
  96.  
  97. mtherr.obj: mtherr.c qhead.h mconf.h
  98.     cl $(CFLAGS) mtherr.c
  99.  
  100. save:
  101.     -pkzip -u b:qfloat *.c *.asm *.h *.txt *.doc qtstq.zip makefile
  102.  
  103. mklist:
  104.     @echo -n $(OBJECTS_C:.obj=.c) $(OBJS_ASM:.obj=.asm) $(OBJ_SQRT:.obj=.c)
  105.     @echo "" $(HEADERS)
  106.